package com.yeyks.consumer.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * C端用户表
 * </p>
 *
 * @author yun
 * @since 2019-11-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="UserInfo对象", description="C端用户表")
public class UserInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("gmt_create")
    private Date gmtCreate;

    @TableField("gmt_modified")
    private Date gmtModified;

    @ApiModelProperty(value = "推荐用户id")
    @TableField("parent_id")
    private Integer parentId;

    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "用于账户登陆的账户名")
    @TableField("username")
    private String username;

    @ApiModelProperty(value = "真实姓名")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "妮称")
    @TableField("nickname")
    private String nickname;

    @TableField("password")
    private String password;

    @TableField("gender")
    private Boolean gender;

    @ApiModelProperty(value = "账户是否有效")
    @TableField("valid")
    private Boolean valid;

    @ApiModelProperty(value = "用户头像")
    @TableField("avatar")
    private String avatar;

    @ApiModelProperty(value = "当前账户状态默认1有效，0无效")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "账户的类型，1普通用户，2企业用户")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "客户来源 ios  android gzh xcx other")
    @TableField("source_type")
    private String sourceType;

    @ApiModelProperty(value = "邀请码")
    @TableField("invite_code")
    private String inviteCode;

    @ApiModelProperty(value = "0:已删除 1：正常")
    @TableField("is_del")
    private Integer isDel;

    @ApiModelProperty(value = "0:否 1：是")
    @TableField("is_vip")
    private Integer isVip;

    @ApiModelProperty(value = "电子邮箱")
    @TableField("email")
    private String email;

    @TableField("extra_info")
    private String extraInfo;

    @ApiModelProperty(value = "提现账户json eg: {'bankCard':'12312414','bankName':'中国工商银行','userName':'大大大'}")
    @TableField("pay_account")
    private String payAccount;

    @ApiModelProperty(value = "微信登录union_id")
    @TableField("union_id")
    private String unionId;

    @TableField("md5_password")
    private String md5Password;

    @ApiModelProperty(value = "是否是未登录:0是1不是")
    @TableField("new_flag")
    private Integer newFlag;


    public static final String ID = "id";

    public static final String GMT_CREATE = "gmt_create";

    public static final String GMT_MODIFIED = "gmt_modified";

    public static final String PARENT_ID = "parent_id";

    public static final String PHONE = "phone";

    public static final String USERNAME = "username";

    public static final String NAME = "name";

    public static final String NICKNAME = "nickname";

    public static final String PASSWORD = "password";

    public static final String GENDER = "gender";

    public static final String VALID = "valid";

    public static final String AVATAR = "avatar";

    public static final String STATUS = "status";

    public static final String TYPE = "type";

    public static final String SOURCE_TYPE = "source_type";

    public static final String INVITE_CODE = "invite_code";

    public static final String IS_DEL = "is_del";

    public static final String IS_VIP = "is_vip";

    public static final String EMAIL = "email";

    public static final String EXTRA_INFO = "extra_info";

    public static final String PAY_ACCOUNT = "pay_account";

    public static final String UNION_ID = "union_id";

    public static final String MD5_PASSWORD = "md5_password";

    public static final String NEW_FLAG = "new_flag";

}
